package com.nervenets.general.jwt.aspect;

import com.nervenets.general.enumeration.Platform;

import java.lang.annotation.*;

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface JwtSecurity {
    /**
     * @return 是否验证权限
     */
    boolean required() default true;

    /**
     * @return 权限标识别名
     */
    String permission() default "";

    /**
     * @return 权限名称
     */
    String permissionName() default "";

    /**
     * @return 自定义分类标签
     */
    String[] tags() default {};

    /**
     * @return 鉴权终端类型
     */
    Platform[] platforms() default {};

    /**
     * @return 前端路由地址
     */
    String router() default "";

    /**
     * @return 前端组件地址
     */
    String component() default "";

    /**
     * @return 排序值，升序
     */
    int queue() default 999;
}
